/*
 * 创建时间：2011-3-9 下午02:53:29
 * 工程名称：XTeam-acs4j
 * Author:Leo
 */
package com.xteam.purview.service;

import java.util.List;

import com.xteam.purview.entities.PurviewOrg;
import com.xteam.purview.entities.PurviewUser;

/**
 * 权限管理系统用户访问接口
 * @author Leo
 */
public interface IPurviewOrgFace {

	/**
	 * 查询用户所在的组织机构列表，不包含子组织机构
	 * @see com.xteam.purview.service.IPurviewOrgFace#getOrgListByUserId(java.lang.String)
	 */
	public List<PurviewOrg> getOrgListByUserId(String userId);

	/**
	 * 遍历用户所属的组织机构的所有子机构，并返回列表
	 * @author tangkf  ---2012-2-12
	 * @param userId
	 * @return
	 */
	public List<PurviewOrg> getAllOrgListByUserId(String userId);

	/**
	 * 遍历组织机构下的所有 子集 组织机构，深度遍历
	 * @author tangkf  ---2012-2-12
	 * @param orgId
	 * @return
	 */
	public List<PurviewOrg> getAllChildrenOrg(String orgId);

	/**
	 * 查询组织机构及其下级组织机构列表，深度只包含一级
	 * @author tangkf ---2012-2-11
	 * @param userId
	 * @return
	 */
	public List<PurviewOrg> getChildrenOrg(String orgId);

	/**
	 * 删除组织机构与用户的关系
	 * @author tangkf  ---2012-2-12
	 * @param orgId
	 * @param userId
	 * @return
	 */
	public int delOrgUser(String orgId, String[] userId);

	/**
	 * 返回组织机构中的用户列表
	 * @author tangkf  ---2012-2-12
	 * @param orgId
	 * @return
	 */
	public List<PurviewUser> getUserListByOrgId(String orgId);

	/**
	 * 保存用户组织机构关系
	 * @author tangkf ---2012-2-11
	 * @param orgId 组织机构ID
	 * @param userId 用户ID
	 * @return
	 */
	public int saveUserOrg(String orgId, String[] userId);

}
